* Keep the GOT offset in a virtual register for i386 non-darwin platforms. It fixes...
authoryury <yury@3ad0048d-3df7-0310-abae-a5850022a9f2>
Mon, 12 Oct 2015 08:02:56 +0000 (08:02 +0000)
committerPaul Gevers <elbrus@debian.org>
Mon, 12 Sep 2016 18:48:12 +0000 (18:48 +0000)
commit24e34403041b8fc83aff9ab811844d84b7b2b683
tree0b41a1994813c12fc3e59a9cd85c2d114720bad1
parent6709fb190b987f8373f7e51ec5a59b45f41dbce9
* Keep the GOT offset in a virtual register for i386 non-darwin platforms. It fixes PIC code generation with GOT for i386 with enabled optimizations. Bugs #28667, #28668. Prior the fix I have not been able to compile even RTL with -O2 due to not enough free registers, since EBX is reserved for GOT.

  It can be further optimized to teach register allocator to not spill the GOT register if possible.

git-svn-id: http://svn.freepascal.org/svn/ fpc/trunk@32020 3ad0048d-3df7-0310-abae-a5850022a9f2

Gbp-Pq: Name Keep-the-GOT-offset-in-a-virtual-register-for-i386-n.patch
fpcsrc/compiler/i386/cgcpu.pas
fpcsrc/compiler/i386/cpupi.pas
fpcsrc/compiler/i386/hlcgcpu.pas
fpcsrc/compiler/x86/aasmcpu.pas